Gaming controller for mobile device and method of operating a gaming controller

ABSTRACT

In the present disclosure, a gaming controller for a mobile device is provided. The gaming controller can include a first hardware gaming controller including a first programmable controller and at least one input switch, the at least one input switch of the first hardware gaming controller configured to be manipulated by a user&#39;s left thumb and/or fingers to generate a left controller input with the first programmable controller. The gaming controller can include a second hardware gaming controller including a second programmable controller and at least one input switch, the at least one input switch of the second hardware gaming controller configured to be manipulated by a user&#39;s right thumb and/or fingers to generate a right controller input with the second programmable controller. The first hardware gaming controller and the second hardware gaming controller are each configured to be removably coupleable with a mobile device, the mobile device including a mobile device processor coupled to a memory module and configured to run a software application. Further, the first hardware gaming controller is configured to be mechanically secured to a side portion of a housing of the mobile device, and the second hardware gaming controller is configured to be mechanically secured to an opposing side portion of the housing of the mobile device. The left controller input and the right controller input can be combined with a virtual controller module to form a virtual gaming controller with a single controller input representation for providing to the software application. A corresponding method for operating a gaming controller is also provided.

TECHNICAL FIELD

The present disclosure describes embodiments generally related to agaming controller for a mobile device. Further, embodiments can relateto a method of operating a gaming controller.

BACKGROUND

Mobile devices are ubiquitous today's society and provide generallyimmediate access to communication, entertainment, and navigation as wellas provide a seemingly endless array of solutions to problems that userssometimes do not even know exist. With the introduction ofhigh-performance processors, graphics modules and high resolutiondisplays into the hardware of mobile devices, mobile devices are nowable to access and operate a plethora of resource hungry applications,for example, computer gaming applications.

Previously, mobile gaming was carried out with dedicated mobile gamingdevices, which can typically include a device body with a display screenand controller buttons or joysticks provided on the device body. Incomparison, complex computer games in various genres can now be operatedon multi-functional mobile devices such as mobile phones and mobiletablet computers. However, there is a dissatisfaction in gaming on suchmulti-functional mobile devices, for which the primary function stillremains as for communication, or for entertainment in watching a videoor reading an article. This is due to the lack of hardware gamingcontroller features provided with the multi-functional mobile devicesfor physical user manipulation, which reduces the type and amount ofuser input into the gaming application as well as depreciates the gamingexperience. Further, most personal computer (PC) based games which cartnow run on mobile devices require more input that what the touch-baseddisplay of mobile devices usually provide for.

In response to such a need, various manufacturers have provided hardwaregaming controllers for connecting to a mobile device, typically amulti-functional mobile device. For example, a console gaming controllercan be plugged into a mobile device through a universal serial bus (USB)connection, or can operate uncoupled from the mobile device through awireless Bluetooth® connection. However, such separate gamingcontrollers take away from the mobility and portability of devices, andhandling the mobile device separate from the gaming controller is notdesirable.

The proprietor of the present disclosure has previously released agamepad controller peripheral, the Razer® Edge® Gaming Controller, whichcan receive a mobile tablet computer into a device body, and includes apair of handles on both sides of the body, each handle including ajoystick and controller buttons. The mobile computer is thus physicallytransformed to a dedicated gaming device, capable of being physicallyhandled and providing hardware control elements for user manipulation.

However, a mobile device, in adapting such a gamepad controllerperipheral for dedicated mobile gaming, becomes relatively heavy andbulky, which can be detrimental to a gamer operating such a device.

An alternative solution is thus sought in providing hardware gamingcontrollers for use with a mobile device with for gaming applications,to provide for a fuller gaming experience, and in which any impairmentof the portability or handling of the mobile device is reduced.

SUMMARY

According to an embodiment, there is provided a gaming controller for amobile device, including: a first hardware gaming controller including afirst programmable controller and at least one input switch, the atleast one input switch of the first hardware gaming controllerconfigured to be manipulated by a user's left thumb and/or fingers togenerate a left controller input with the first programmable controller;and a second hardware gaming controller including a second programmablecontroller and at least one input switch, the at least one input switchof the second hardware gaming controller configured to be manipulated bya user's right thumb and/or fingers to generate a right controller inputwith the second programmable controller; the first hardware gamingcontroller and the second hardware gaming controller each configured tobe removably coupleable with a mobile device, the mobile deviceincluding a housing, and a mobile device processor coupled to a memorymodule and provided with the housing, the mobile device processorconfigured to run a software application; wherein the first hardwaregaming controller is configured to be mechanically secured to a sideportion of the housing of the mobile device, and the second hardwaregaming controller is configured to be mechanically secured to anopposing side portion of the housing of the mobile device; and whereinthe left controller input and the right controller input are combinedwith a virtual controller module to form a virtual gaming controllerwith a single controller input representation for providing to thesoftware application.

According to an embodiment, there is provided a method or operating agaming controller, the gaming controller including a first hardwaregaming controller and a second hardware gaming controller eachconfigured to be removably coupleable with a mobile device, the firsthardware gaming controller configured to be mechanically secured to aside portion of a housing of the mobile device, and the second hardwaregaming controller configured to be mechanically secured to an opposingside portion of the housing of the mobile device, the method including:generating a left controller input with a first programmable controllerin the first hardware gaming controller, the first hardware gamingcontroller configured to be manipulated by a user's left thumb and/orfingers; generating a right controller input with a second programmablecontroller in the second hardware gaming controller, the second hardwaregaming controller configured to be manipulated by a user's right thumband/or fingers; combining the left controller input and the rightcontroller input to form a virtual gaming controller with a singlecontroller input representation; and providing the virtual gamingcontroller to a software application operating on a mobile deviceprocessor in the mobile device.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, like reference characters generally refer to the sameparts throughout the different views. The drawings are not necessarilyto scale, with emphasis instead generally being placed upon illustratingthe principles of the present disclosure. It is to be noted that theaccompanying drawings illustrate only examples of embodiments of thisdisclosure and are therefore not to be considered limiting of its scope,for the disclosure may admit to other equally effective embodiments. Inthe following description, various embodiments of the disclosure aredescribed with reference to the following drawings, in which:

FIG. 1A illustrates a mobile gaming device according to an embodiment ofthe present disclosure.

FIG. 1B illustrates a side profile of the mobile gaming device of FIG.1A.

FIG. 2A illustrates a schematic representation of a mobile an gamingdevice according to an embodiment.

FIG. 2B illustrates a circuit schematic of the hardware gamingcontrollers of FIG. 2A.

FIG. 3 illustrates a flow chart setting out the operation of gamingcontrollers in a mobile gaming device according to an embodiment.

FIG. 4 illustrates a circuit schematic of hardware gaming controllersaccording to an embodiment.

FIG. 5 illustrates a flow chart setting out the operation of gamingcontrollers in a mobile gaming device according to an embodiment.

FIG. 6 illustrates a schematic representation of a mobile gaming deviceaccording to an embodiment.

FIG. 6B illustrates circuit schematic of the hardware gaming controllersof FIG. 6A.

FIG. 7 illustrates a flow chart setting out the operation of gamingcontrollers in a mobile gaming device according to an embodiment.

FIG. 8 illustrates a schematic representation of a mobile gaming device800 according to an embodiment.

FIG. 9 illustrates a flow chart setting out the operation of gamingcontrollers in a mobile gaming device according to an embodiment.

FIG. 10 illustrates a schematic of a gaming controller according to anaspect of the present disclosure.

FIG. 11 illustrates a block diagram of a method according to an aspectof the present disclosure.

DETAILED DESCRIPTION

Embodiments of a gaming controller for a mobile gaming device, a virtualgaming controller and a method of operating a gaming controller aredescribed in detail below with reference to the accompanying figures.However, it should be understood that the disclosure is not limited tospecific described embodiments. It will be appreciated that theembodiments described below can be modified in various aspects,features, and elements, without changing the essence of the disclosure.Further, any reference to various embodiments shall not be construed asa generalization of any inventive subject matter disclosed herein andshall not be considered to be an element or limitation of the appendedclaims except where explicitly recited in a claim(s).

According to various embodiments, depiction of a given element orconsideration or use of a particular element number in a particular FIG.or a reference thereto in corresponding descriptive material canencompass the same, an equivalent, or an analogous element or elementnumber identified in another FIG. or descriptive material associatedtherewith. The use of “/” herein means “and/or” unless specificallyindicated otherwise.

The present disclosure can describe embodiments of a consumer electronicdevice which can be operable in various orientations, and, it thusshould be understood that any of the terms “top”, “bottom”, “base”,“down”, “sideways”, “downwards” etc., when used in the followingdescription are used for convenience and to aid understanding ofrelative positions or directions, and not intended to limit theorientation of the recording medium or a system or apparatus or productincorporating the recording medium.

A computing system or a controller or a microcontroller or any othersystem providing a processing capability can be presented according tovarious embodiments in the present disclosure. Such a system can betaken to include a processor. A device or system according to thepresent disclosure can include a memory which is for example used in theprocessing carried out by the device or system. A memory used in theembodiments may be a volatile memory, for example a DRAM (Dynamic RandomAccess Memory) or a non-volatile memory, for example a PROM(Programmable Read Only Memory), an EPROM (Erasable PROM), EEPROM(Electrically Erasable PROM), or a flash memory, e.g., a floating gatememory, a charge trapping memory, an MRAM (Magnetoresistive RandomAccess Memory) or a PCRAM (Phase Change Random Access Memory).

In various embodiments, a “circuit” may be understood as any kind of alogic implementing entity, which may be special purpose circuitry or aprocessor executing software stored in a memory, firmware, or anycombination thereof. Thus, in an embodiment, a “circuit” may be ahard-wired logic circuit or a programmable logic circuit such as aprogrammable processor, e.g. a microprocessor (e.g. a ComplexInstruction Set Computer (CISC) processor or a Reduced Instruction SetComputer (RISC) processor). A “circuit” may also be a processorexecuting software, e.g. any kind of computer program, e.g. a computerprogram using a virtual machine code such as e.g. Java. Any other kindof implementation of the respective functions which will be described inmore detail below may also be understood as a “circuit” in accordancewith various alternative embodiments. Similarly, a “module” is thuslydefined as a portion of a system according to the present disclosure andmay encompass a “circuit” as above, or may be understood to be any kindof a logic-implementing entity therefrom.

In the specification, the term “comprising” shall be understood to havea broad meaning similar to the term “including” and will be understoodto imply the inclusion of a stated feature or step or group of featuresor steps but not the exclusion of any other feature or step or group offeatures or steps. This definition also applies to variations on theterm “comprising” such as “comprise” and “comprises”.

The reference to any prior art in this specification is not, and shouldnot be taken as an acknowledgement or any form of suggestion that anyreferenced prior art forms part of the common general knowledge.

FIG. 1A illustrates a mobile gaming device according to an embodiment ofthe present disclosure Mobile gaming device 100 is shown, and forclarification, can be understood to be a mobile device for gaming andcapable of operating as a mobile gaming device. Mobile gaming device 100can include a mobile device 110. The mobile device 110 or mobilecomputer or mobile computing device can be a mobile tablet computer,including a housing 111, the housing 111 including or housing a displayscreen 112 and a hardware processing system (not shown) includingvarious circuitry and semi-conductor based components and electronics,for operating a mobile computing device. The mobile device 110 can beoperated independently from the mobile gaming device 100 or can beintegrated as one with the mobile gaming device 100. The display screen112 can be a touch-enabled screen, allowing for user interaction throughthe screen. The mobile gaming device 100 further includes a pair ofcontrollers 120 coupled to the mobile device 100.

As mentioned above, a solution is desired, in which a mobile device isprovided with hardware controllers for gaming applications, which anyimpairment of the portability or handling of the mobile device isreduced. In coming up with such a gaming controller peripheral solution,the present inventors came across a need to break a single gamecontroller into a plurality of devices. For example, hardware componentsfor the left side of the controller had to be separated from thehardware components for the right side of the controller.

Typically, game controllers connect to a computer or game console thougha cable using a USB protocol, or wirelessly with the Bluetooth®protocol. The available buttons and axis controllers are defined usingthe USB human control interface device class transport protocol (HID).The HID transport protocol has been adapted to other protocols, such asBluetooth, to describe when a button has been pressed or a joystick hasbeen moved. The HID protocol defines the capabilities of the gamecontroller attaching to the computer through an HID descriptor, whilechanges in state of buttons and joysticks are represented through HIDreports. The operating system of a computer or mobile device, such asLinux®, Android™ and Windows, process HID descriptors and reports tocreate a one-to-one mapping of devices and interfaces, so a gameapplication sees the input of every attached device in making use ofthem.

However, most game applications assume that there is a single HIDinterface fora game controller, and are written as such. As such, tobreak a game controller into a plurality of devices leads to where gameapplications have to be re-written for proper operation, for example toreceive a HID input from a left-side controller and a HID input from aright-side controller. This would be counter-intuitive, and limit anybenefit in providing a game controller peripheral in which anyimpairment of the portability or handling of the mobile device isreduced.

Various embodiments of the present disclosure seek to provide a virtualgaming controller with a single controller input representation formedfrom combining separate inputs from the plurality of devices broken downfrom a typical game controller. Such a virtual gaming controller isthereafter provided to the software gaming application in representationof a user's input through the plurality of devices broken down from atypical game controller.

According to various embodiments of the present disclosure, a pair ofcontrollers 120, including a first left-side controller 122 and a secondright-side controller 124, are provided, for removably coupling to amobile device 110. The first controller 122 and the second controller124 can be provided on, opposing sides of the display screen 112 of themobile device 110. The first controller 122 and the second controller124 can be removably coupled to the mobile device 110. Such a couplingincludes a physical mechanical coupling, as well a data communicationcoupling between the gaming controllers 120 and the mobile device 100.The mechanical coupling between the controller and the mobile device 110is configured to secure the controller adjacent to the mobile device110, such that controller maintains a firm connection with the mobiledevice 110 during use.

A snap-on interface can be provided between a controller 120 and themobile device 110, where the controller 120 is securely but removablyfastened onto the mobile device 110. In embodiments, the physicalcoupling of the controllers 120 to the mobile device 110 can be with amagnetic coupling. In embodiments, the housing of controller 120 andmobile device 110 can be correspondingly molded to provide for a betterfit, as well as to provide a good secure grip in handling for a user. Inembodiments, the physical coupling includes a USB port connection. Thecontrollers 120 can each include a male USB plug which is arranged tomate with a female USB port or socket on the mobile device 110. The USBconnection can be carried out with any connection or at any speed inassociation with a USB connection. Such a serial USB connection can alsoprovide for a data communication connection between the controllers 120and the mobile device 110. In embodiments, the controller 120 and mobiledevice 110 include a data communication coupling which can be a wirelessdata communication coupling. The wireless data communication couplingcan be any one of a Bluetooth® connection, a Wireless Universal SerialBus (WUSB) connection, a radio frequency connection, or an infrared dataconnection.

It is noted that the first controller 122 and the second controller 124are provided as separate entities, and are coupled to either side of themobile device 110. In such a way, the first controller 122 and thesecond controller 124 include separate electronics or components witheach controller for the independent operation of each controller as agaming controller, even though the first controller 122 and the secondcontroller 124 are provided for a single-side input from a user for agaming application. In an embodiment, the first controller 122 includesa first programmable controller, and the second controller 124 includesa second programmable controller. This is in comparison to typicalgaming controllers, provided in a single device, where left-side inputis coupled to right-side input, and processed with a single set ofelectronics or components. In various embodiments, the first controllerand the second controller are provided as a singular gaming controllerperipheral, physically connected by perhaps a receiving plate, thegaming controller peripheral arranged to receive a mobile device. Suchan arrangement can be provided for additional support in receiving themobile device, or in providing an additional battery back for extendedoperation of the mobile gaming device. However, the first controller andthe second controller can still remain as separate operating entities,each configured to send controller input independently to the mobilecomputing device.

In an embodiment, the first controller and the second controller arepermanently coupled onto the mobile device in forming the mobile gamingdevice. In such an embodiment, the first controller and the secondcontroller can still each include electronics and components and arearranged to function independently of each other. In an embodiment, thefirst controller and the second controller are provided for operationindependent physically from the mobile device. A user can activate thefirst controller and second controller, which can be the left half andthe right half of a gaming controller, and wireless communication can beutilized for operation as according to embodiments of the presentdisclosure.

Controllers 120 can each include one or more input switches for usermanipulation, fear example, a joystick controller 126, and a set ofgaming control buttons 128. Any number of gaming control buttons can beprovided in the set, which can differ in number and configurationbetween the set on the left controller 122 and the set on the rightcontroller 124. For example, the left controller 122 can include a setof gaming control buttons 128 which can include four buttons set out ina directional pad configuration, while the right controller 124 caninclude a set of gaming control buttons 130 which can include aplurality of action control buttons. Further, additional shoulderbuttons 132 can be provided at an edge of the controllers 120corresponding to a top side of the mobile device 110. The shoulderbuttons 132 are arranged to be operated by an index finger, and caninclude multiple shoulder buttons on each controller 120. Input switcheson the left controller 122 can be configured to be manipulated by auser's left thumb and/or fingers to generate a left controller input,while input switches on the right controller 124 can be configured to bemanipulated by a user's right thumb and/or fingers to generate a rightcontroller input.

Controllers 120 can include an indicator 134 provided on a front surfaceof the controller 120. The indicator 134 can include a light-emittingdiode (LED) which can provide an indication to a user. For example, theLED indicator can indicate status of the controller, i.e. activation oroperation of the controllers, or can indicate that a wireless couplingis established between the controller 120 and the mobile device, or canbe for a battery indication function. In embodiments, the indicator 134can include a number of differently-colored LEDs, which can thereafterprovide various kinds of notifications, through lighting up, orintervallic blinking of the LEDs.

Controllers 120 can further include an elongate horizontal button 136provided under the gaming control buttons 128. The horizontal button 136can be provided for various gaming functions, for example, for a pausefunction, or a select function, or any other appropriate function. Otherbuttons or functions can be provided on one or both controllers invarious other embodiments.

FIG. 1B illustrates a side profile of the mobile gaming device 100 ofFIG. 1A. FIG. 1B can be a top-down view from the direction indicated byA in FIG. 1A. Each of the controller 120 can be provided with a joystick126 and shoulder buttons 132 for manipulation by a user. Further, FIG.1B highlights the slim form factor of the mobile gaming device 100,which does not introduce noticeable girth to the thickness of the mobiledevice 110, in providing a hardware gaming controller 120 for gamingapplications.

Controllers 120 can each be provided with a body 140 with a dimension ofone of its sides 142 substantially similar to the breadth of the mobiledevice 110, and arranged to be coupled to one of both sides of themobile device. The body 140 can thus provide a physical extension of themobile device 120, which can be used for handling and manipulated by theuser. Further, the body 140 can be ergonomically designed and formed,and arranged to provide a comfortable grip by a user's hand in engagingwith the mobile gaming device 100. It can be observed that the leftcontroller 122 is provided separately from the right controller 124 andeach includes an individual coupling to or with the mobile device 110.

FIG. 2A illustrates a schematic representation of a mobile gaming device200 according to an embodiment. Controllers 220 are provided for amobile device 210. First left-side hardware controller 222 and secondright-side hardware controller 224 are provided and arranged forcoupling with the mobile device 210. The gaming controllers 220 caninclude a variety of hardware controller buttons, for example, joystick226, gaming control buttons 228 and horizontal button 236. Other buttonsor functionality can be included, where needed.

Mobile device 210 can include a mobile processor (not shown) and amemory module (not shown) which allow the function of the mobile device210 as a computing device. Various other electronics, components,circuits and modules can run on the mobile device 210, with or withoutcoupling to the mobile processor or the memory module. Mobile device 210can include a USB port. In embodiments, two USB ports are provided, aleft USB port 240 for coupling with the left controller 222 and a rightUSB port 242 for coupling with the right controller 224. The USB ports240, 242 can be a USB socket arranged to receive a USB plug on thecontrollers 220 to form a USB coupling. The USB coupling can be amicro-USB coupling operating under the USB 3.0 protocol, but other USBcouplings or other comparable couplings can be utilized.

Left controller 222 and right controller 224 can include sufficienthardware and programmable components to each function as a standalonecontroller. Left controller 222 and right controller 224 can receiveuser manipulation or control and in response generate control data whichcan be according to HID protocol. Left controller 222 and rightcontroller 224 can generate a HID input, such as a plurality of HIDdescriptors and reports in accordance to user input or manipulation ofthe joystick 226 or gaming control buttons 228 of the controllers 220,and subsequently provide the HID input to the mobile device 210 forprocessing and entry for use in for example, a software gamingapplication. The USB couplings formed by connection between the mobiledevice 210 and the left controller 222 and the right controller 224 andthe left USB port 240 and the right USB port 242 can thus be a HIDcoupling. In various embodiments, a plurality of HID interfaces areprovided for a plurality of game controllers coupled to the mobiledevice in a mobile gaming device.

Mobile device 210 can further include a device driver 244. Inembodiments, the device driver 244 can be a controller device driver,arranged to receive HID input from a hardware controller operating underthe HID protocol and interpreting the HID input for further processing.In embodiments, the device driver 244 can be a dual controller devicedriver, arranged to receive HID input from two hardware controllers andinterpreting the HID input from the two hardware controllers for furtherprocessing. Device driver 244 can be coupled to left USB port 240 andright USB port 242, and receive information from left controller 222 andright controller 224 through the left USB port 240 and right USB port242 respectively. Device driver 244 can identify when HID input isgenerated and made available by the controllers 220, and thereafterreceives, translates and delivers the translated information to theoperating system for consumption. Device driver 244 can be a computerprogram operating in a kernel on the mobile processor and memory moduleof the mobile device 210, and can communicate with the coupledcontrollers 220 through an established HID interface. Device driver 244can be dependent on the hardware of the controllers 220 and the mobiledevice 210, as well as dependent on the kind operating system run by themobile device 210, and acts as a type of translator between thecontrollers 220 and the mobile device 210.

Device driver 244 communicates with an operating system program 250running on the mobile device 210, supported by the mobile deviceprocessor and memory module. The operating system 250 generally managesthe hardware and software components of the mobile device, and providesand functions as an interface between the device and a user. Theoperating system 250 can operate various kinds of software applicationsfor the mobile device, for example word processing, internet browsing,music, movies, gaming, etc., which can run on the operating system 250as dedicated standalone applications. In embodiments, the operatingsystem 250 of the mobile device 210 is an Android operating system formobile devices, but other operating systems such as Linux or Windows oriOS can be suitable as well.

Mobile device 210 further includes a virtual controller module 252.Virtual controller module 252 can operate on the processor of the mobiledevice, for example in the operating system 250, and is arranged toreceive a HID input from the gaming controllers 220. Such HID input canbe translated by the device driver 244 prior to being received by theoperating system 250 and the virtual controller module 252. The virtualcontroller module 252 is configured to receive HID input, such as a leftcontroller input from the left controller 222 and a right controllerinput from the right controller 224. The virtual controller module 252is further configured to combine both the left controller input and theright controller input to form a single controller input representationthat contains all the elements of a combined controller. As such, eventhough the left controller 222 and the right controller 224 are providedas separate entities with separate hardware and programmable parts, theinput from both the left controller 222 and the right controller 224 areboth amalgamated in the coupled mobile device for operation as thoughthe left controller and the right controller form part of the samecontroller, through the virtual controller module 252. Such a singlecontroller representation is then passed on to a game application 254running on the mobile device 210.

FIG. 2B illustrates a circuit schematic of the hardware gamingcontrollers of FIG. 2A. Circuit 260 provides a representation of thehardware component connections in relation to left gaming controller222. A programmable controller 262 can be provided in the left gamingcontroller 222, arranged to carry out functionality relating tooperating a gaming controller. The programmable controller 262 can be anintegrated circuit, or a microcontroller, or a microprocessor, providedas a semiconductor device for operation. The controller 262 can includea small processor for carrying out various functionalities. Thecontroller 262 can be arranged to receive a plurality of inputs andgenerate a plurality of outputs. A plurality of general purposeinput/output (GPIO) pins 264 can be provided, to provide communicationwith various components. For example, a set of pins are configured tocommunicate with joystick 226 and gaming control buttons 228, to receiveinput from these controls. Further, output pins can be coupled to one ormore LED indicators for controlling the LEDs. In addition, the gamingcontroller can also include a vibration module, to provide vibrationfeedback for a user.

In addition, a set of pins 266 are arranged to be dedicated for USBcommunication, and can be coupled to a USB plug provided on the leftgaming controller 222, for carrying out a USB coupling with the mobiledevice 210. Pins 266 can carry an amount of information for providing tothe device driver. In embodiments, controller 262 can include ananalog-to-digital converter function in addition to a programmingexecution function. In such a way, input received from gaming controlssuch as the joystick 226 and gaming control buttons 228 can be receivedas analog input by the controller 262, and thereafter converted todigital data, which can then be rearranged for output as HIDinformation, for example containing HID descriptors and reports. Thecircuit 260 and controller 262 can further be arranged for additionalfunctionality if the need so requires.

Circuit 270 provides a representation of the hardware componentconnections in relation to right gaming controller 224. A programmablecontroller 272 can be provided in the right gaming controller 224,arranged to carry out functionality relating to operating a gamingcontroller. In an embodiment, the left gaming controller 222 isequivalent to the right gaming controller 224, except operating forreceiving input from different sides for a user. As such, the circuit260 for the left gaming controller 222 is equivalent to the circuit 270for the right gaming controller 224.

FIG. 3 illustrates a flow chart setting out the operation of gamingcontrollers in a mobile gaming device according to an embodiment. Theflow chart 300 of FIG. 3 can correspond to the operation of gamingcontrollers in a mobile gaming device, as shown and described in FIGS.2A and 2B. In flow chart 300, left gaming controller 222 isschematically represented by game control left portion block 302, whileright gaming controller 224 is schematically represented by game controlleft portion block 304. A USB interface 306 can be provided for leftcontroller 222 and USB interface 308 can be provided for rightcontroller 224. A monitoring block 310 can be provided for determiningif a joystick 226 is moved or a gaming control button 228 is depressedon the left controller 222 and if so, HID information is sent from theleft controller 422 to the mobile device 210 over USB interface 306. Ifno movement or control input is detected, a loop back is made tocontinue monitoring USB interface 306 for any left controller input fromthe left controller 222. If movement or control input is detected, theprocess flow carries on. HID input is delivered from the left controller222 to the USB port 240 of the mobile device 210 and to the devicedriver 244. Correspondingly, a monitoring block 312 is provided for thetight controller 224, operating in a similar manner.

At 314, device driver 244 receives and consumes HID data from either theleft controller 222 or the right controller 224 for processing. Inembodiments, the device driver 244 receives from both the leftcontroller 222 and the right controller 224 for processing. Inembodiments, the device driver 244 receives controller information fromeither or both of the left controller 222 or the right controller 224within a predetermined sampling period and proceeds to process thereceived controller information. According to various embodiments, leftcontroller input and right controller input are received as separatedata packets by the mobile device 210. In embodiments, the leftcontroller input and the right controller input can include anidentifier in the corresponding data packet, to identify the datapackets as being from a left controller or a right controller.

At 316, a virtual controller is formed, based on the input received fromthe device driver at 318. The virtual controller can be formed with thevirtual controller module 252, which can combine the received datapackets obtained from the left controller 222 and/or the rightcontroller 224 to form a virtual gaming controller with a singlecontroller input representation. In an embodiment, a predeterminedsampling period is provided, and any left controller input or rightcontroller input received by the device driver 244 during the samplingperiod is provided to the virtual controller module for forming avirtual gaming controller with single or combined controller inputrepresentation. At 318, the virtual gaming controller including combinedcontroller input is provided to the software application for handling.It is thus noted that the software gaming application only sees a singlevirtual device, instead of the physically connected separate gamingcontrollers delivering separate HID data.

FIG. 4 illustrates a circuit schematic of hardware gaming controllersaccording to an embodiment. Circuit representation 400 illustrates apossible circuit layout in representation of hardware componentconnections for a left gaming controller 402 and a right gamingcontroller 404 according to an embodiment. The gaming controllers areconfigured to be physically coupled to a mobile device to provide amobile gaming device, in a manner similar to that of mobile gamingdevice 100. According to an embodiment, the gaming controllers 402, 404can be configured for wireless data communication coupling to the mobiledevice. HID information generated by the gaming controllers 402, 404 arethus provided to the mobile device through wireless data communication.

Such a wireless data communication coupling can be a Bluetoothconnection, but other wireless data couplings can be provided asappropriate. In such a case, a Bluetooth transceiver is provided in boththe left gaming controller and the right gaming controller. Further, themobile device can include multiple Bluetooth transceivers, one forcommunication with the left gaming controller and another forcommunication with the right gaming controller, or a single transceiverthat is capable of hosting multiple Bluetooth channels forcommunication, and thus capable of communicating with multipleperipheral devices concurrently. The mobile device can host not only thedual gaming controllers wirelessly, but also maintain wirelesscommunication with other computing peripherals, for example, speakers,keyboards, computer mice, etc.

Circuit 410 provides a representation of the hardware componentconnections in relation to the left gaming controller 402. Aprogrammable controller 412 can be provided in the left gamingcontroller 402, arranged to carry out functionality relating tooperating a gaming controller. The controller 412 can include amicrocontroller processor for carrying out various functionalities andcan be arranged to receive a plurality of inputs and generate aplurality of outputs. A plurality of GPIO pins 414 can be provided forcommunication with various components on the left gaming controller 402.The left gaming controller 402 can have components in communication withthe controller 412, such as a joystick controller 416 and various gamingcontrol buttons 418.

Controller 412 can include a radio frequency (RF) transmitterincorporated into the integrated circuit of the controller 412, the RFtransmitter capable of establishing a Bluetooth connection with acompatible receiver for wireless data communication. The transmitter canalso be a Bluetooth transceiver, arranged to send and receiveinformation to and from the mobile device. Such a transceiver is usefulto receive feedback from the mobile device, for communication back tothe user. Gaming control data can be sent to the mobile device for usein a gaming application, and in return the gaming application canprovide information back to the controller for user consumption, forexample, instructions to carry out a vibration of the gaming controllerin response to a user's actions in a gaming application.

The Bluetooth transmitter can be a Bluetooth Low Energy Technology-basedtransmitter, which allows for a wireless data communication with lowpower consumption, allowing for longer usage in operation. Inembodiments, the left gaming controller 402 can include a separateBluetooth transmitter or transceiver, arranged to wireless couple to acorresponding receiver on the mobile device, and send data informationover the wireless coupling. The Bluetooth transmitter can be coupled tothe controller 412 through one or more of the GPIO pins 414.

In enabling operation of the controller 412 as well as wireless datacommunication, a power source is required. Left gaming controller 402can include a battery pack 420 for delivery of electrical power to thecontroller 412. In embodiments, the left gaming controller 402 can bede-coupled from the mobile device, and the left gaming controller 402 beplugged into an electrical source for charging the battery pack 420. Inembodiments, the left gaming controller 402 can include an electricalcoupling to the mobile device, where the battery source of the mobiledevice can be coupled to the battery pack 420 of the left gamingcontroller 402, for shared charge dissipation, or for priority chargedissipation, where a certain battery source is depleted first beforeanother. In an embodiment, in coupling battery sources, the batterysource of the mobile device is configured to be drained first, while notutilizing charge on the left gaming controller 402. The mobile devicecan then be plugged into an electrical source for charging andmaintaining the charge level of its battery source.

Further, the battery pack 420 can include a sensor in the battery packwhich can be coupled to the controller 412 to provide information on thestatus of the battery pack 420, for example, amount of charge remainingin the battery pack 420. Controller 412 can further be connected to abattery indication LED 422 in the left gaming controller, to provide anindication of the battery status. The left gaming controller 402 canfarther include a status LED for indication a the activation of thecontroller.

Circuit 450 provides a representation of the hardware componentconnections in relation to right gaming controller 404. A programmablecontroller 452 can be provided in the right gaming controller 404,arranged to carry out functionality relating to operating a gamingcontroller. Similarly, the controller 452 can include a capability tocarry out a Bluetooth function or communication. According to anembodiment, the left gaming controller 402 is equivalent to the rightgaming controller 404, except operating for receiving input fromdifferent sides for a user. As such, the circuit 410 for the left gamingcontroller 402 is equivalent to the circuit 450 for the right gamingcontroller 404.

FIG. 5 illustrates a flow chart setting out the operation of gamingcontrollers in a mobile gaming device according to an embodiment. Theflow chart 500 of FIG. 5 can correspond to the operation of gamingcontrollers in a mobile gaming device, as shown aid described in FIG. 4.In flow chart 500, the left gaming controller 402 is schematicallyrepresented by game control left portion block 502, while the rightgaming controller 404 is schematically represented by game control leftportion block 504. A Bluetooth interface 506 can be provided for theleft controller 402 and Bluetooth interface 508 can be provided for theright controller 404. A monitoring block 510 can be provided fordetermining if a joystick 416 is moved or a gaming control button 418 isdepressed on the left controller 402 and if so, HID information is sentfrom the left controller 402 to the mobile device over Bluetoothinterface 506. If no movement or control input is detected, a loop backis made to continue monitoring Bluetooth interface 506 for any leftcontroller input from the left controller 402. If movement or controlinput is detected, the process flow carries on, HID input is deliveredfrom the left controller 402 through a Bluetooth connection made betweenthe controller 412 and a corresponding receiver on the mobile device.The HID input is subsequently provided to device driver in the mobiledevice. Correspondingly, a monitoring block 512 is provided for theright controller 404, operating in a similar manner.

At 514, the device driver receives and consumes HID data from either theleft controller 402 or the right controller 404 for processing. Thedevice driver can receive HID input from the left controller 402 only,from the right controller 404 only, or from the left controller 402 andthe right controller 404, either concurrently, or within a predeterminedtime period or sampling period. The device driver upon receiving HIDcontroller input proceeds to process the received controllerinformation. According to various embodiments, left controller input andright controller input are received as separate data packets by themobile device. In embodiments, the left controller input and the rightcontroller input can include an identifier in the corresponding datapacket, to identify the data packets as being from a left controller ora right controller.

At 516, a virtual controller is formed, based on the input received fromthe device driver at 518. The mobile device can include a virtualcontroller module which can be arranged to combine the received datapackets obtained from the left controller 402 and/or the rightcontroller 404 to form a virtual gaming controller with a singlecontroller input representation. At 518, the virtual gaming controllerincluding combined controller input is provided to the softwareapplication the handling. It is thus noted that the software gamingapplication only sees a single virtual device, instead of the physicallyconnected separate gaming controllers delivering separate HID data.

FIG. 6A illustrates a schematic representation of a mobile gaming device600 according to an embodiment. Controllers 620 are provided for amobile device 610. First left-side hardware controller 622 and secondright-side hardware controller 624 are provided and arranged forcoupling with the mobile device 610. The gaming controllers 620 caninclude a variety of hardware controller buttons, for example, joystick626, gaming control buttons 628, etc. Other buttons or functionality canbe included, where needed.

According to an embodiment, one of the pair of controllers 620 can bearranged to send its state or any controller input wirelessly, forexample through a radio frequency, to update its status. In anembodiment, the left controller 622 is arranged to wirelessly sendcontroller input to the right controller 622. Right controller isthereafter arranged to send both the left controller input and the rightcontroller input, in separate data packets, to the mobile device 610.Left controller 622 can include a Bluetooth transmitter 664 to carry outsuch a wireless transmission to right controller 624. Correspondingly,right controller 624 can include a Bluetooth receiver 674 to receivesuch wireless transmission from left controller 622. Further, rightcontroller 624 can include a USB plug for coupling to a USB port 640 onthe mobile device 610.

HID input is generated from the left controller 622 in response to userinput or manipulation of the joystick or gaming control buttons of theleft controller 622. Such HID information for the left controller, orleft controller input, can then be wirelessly delivered to the rightcontroller 624. Right controller 624 can also generate HID input, or aright controller input, in response to user input or manipulation of thejoystick or gaming control buttons of the left controller 624. The leftcontroller input and the right controller input are handled as separateor distinct data packets in the right controller 624, and both the leftcontroller input and the right controller input are subsequentlyprovided to the mobile device 610 through the USB coupling through USBport 640.

Mobile device 610 can further include a device driver 642, the devicedriver 642 arranged to receive HID input from the controllers 620 forfurther processing in interpretation of the HID input for computingconsumption on the operating system 644. Device driver 642 communicateswith an operating system program 644 running on the mobile device 610,supported by mobile device processor and a memory module. Mobile device610 further includes a virtual controller module 646. Virtual controllermodule 646 can operate on the processor of the mobile device, forexample in the operating system 644, and is arranged to receive HIDinput from the gaming controllers 620. The virtual controller module 644is further configured to combine both the left controller input and theright controller input to form a single controller input representationthat contains all the elements of a combined controller. Such a singlecontroller representation is then passed on to a game application 648running on the mobile device 610.

In embodiments, left controller 622 is arranged to wirelessly sendcontroller input to the right controller 622, and right controller isthereafter arranged to also wirelessly send both the left controllerinput and the right controller input, in distinct data packets and withappropriate identifiers, to the mobile device 610. In such a case,Bluetooth transceivers are provided in both controllers 620, as well asin the mobile device 610.

According to various embodiments, one of the gaming controllers cancombine separate controller information, prior to providing a singlecontroller representation to the mobile device. Accordingly, the gamingcontrollers can include a primary game controller and a secondary gamecontroller. In an embodiment, the right controller can be the primarygame controller and the left controller is the secondary gamecontroller. A wireless connection is provided between the controllers,and left controller input is sent to the right controller input uponmanipulation by a user and generation thereafter. Right gamingcontroller can also generate a right controller input similarly. Rightgaming controller can include a programmable controller which can beconfigured to receive left controller input and combine it with theright controller input to form a virtual gaming controller with a singlecontroller input representation. The right gaming controller thereafterprovides the single controller input representation to the mobile devicefor provision to the gaming application.

FIG. 6B illustrates a circuit schematic of the hardware gamingcontrollers of FIG. 6A. Circuit 660 provides a representation of thehardware component connections in relation to left gaming controller622. A programmable controller 662 can be provided in the left gamingcontroller 622, arranged to carry out functionality relating tooperating a gaming controller. Further, a wireless transmitter 664 isprovided and coupled to the controller 662. The wireless transmitter 664can be a Bluetooth transmitter.

Correspondingly, Circuit 670 provides a representation of the hardwarecomponent connections in relation to right gaming controller 624. Aprogrammable controller 672 can be provided in the left gamingcontroller 624, arranged to carry out functionality relating tooperating a gaming controller. A wireless receiver 674 is provided andcoupled to the controller 672. The wireless receiver 674 can be aBluetooth receiver. According to embodiments, the left controller 662 isconfigured to generate a left controller input based on usermanipulation of the left gaming controller 622. The left controllerinput is thereafter sent from the wireless transmitter 664 of leftgaming controller 622 to the wireless receiver 674 of right gamingcontroller 624. In embodiments, both controllers 620 can includewireless transceivers for dual directional wireless data communication.

Right gaming controller 624 further includes a USB plug, which can becoupled to the controller 670, the USB plug for establishing a datacommunication coupling with the USB port 640 of the mobile device. Rightcontroller 674 is arranged to deliver left controller input and rightcontroller input as distinct data packets to the mobile device 610. Inembodiments, right controller 674 is arranged to deliver left controllerinput and right controller input as a virtual gaming controller with asingle controller input representation to the mobile device 610. Invarious embodiments, both left controller 662 and right controller 672can be Bluetooth enabled, instead of providing separate transmitters ortransceivers in the gaming controllers 620.

FIG. 7 illustrates a flow chart setting out the operation of gamingcontrollers in a mobile gaming device according to an embodiment. Theflow chart 700 of FIG. 7 can correspond to the operation of gamingcontrollers in a mobile gaming device, as shown and described in FIGS.6A and 6B. In flow chart 700, the left gaming controller 622 isschematically represented by game control left portion block 702, whilethe right gaming controller 624 is schematically represented by gamecontrol left portion block 704. A wireless transmitter 706 can beprovided for the left controller 622 for wirelessly coupling to theright controller 624, and the left controller 622 can wirelesslygenerate and transmit left controller input to the right controller 624.Right controller 624 can include a wireless receiver 708 for wirelesslycoupling to the left controller 622.

A monitoring block 710 can be provided for determining if a joystick ismoved or a gaming control button is depressed on the right controller624 and HID information is sent from the left controller 622 to theright controller 624, from wireless transmitter 706 to wireless receiver708. If no movement or control input is detected, a loop back is made tocontinue monitoring the wireless receiver 708 having a wirelesstransmission coupling for any left controller input from the leftcontroller 622. Further, the left controller input received by the rightcontroller 624 is subsequently relayed or delivered to the mobile device610 through a USB interface between the right controller 624 and themobile device 610. Monitoring block 712 can be provided for determiningif a joystick is moved or a gaming control button is depressed on theright controller 624 and if so, HID information is sent from the rightcontroller 622 to the mobile device 610 over the USB interface betweenthe right controller 624 and the mobile device 610.

A device driver 642 can be provided on the mobile device 610 to receiveHID data from either the left controller 622 or the right controller 624for processing. The device driver can receive HID input from the left,controller 402 only, from the right controller 404 only, or from theleft controller 402 and the right controller 404, either concurrently,or within a predetermined time period or sampling period. In anembodiment, the device driver 642 can receive from the right controller624 a virtual gaming controller input with HID information including asingle controller input representation formed through a combination of aleft controller input and a right controller input. The device driverupon receiving HID controller input proceeds to process the receivedcontroller information.

At 714, a virtual controller is formed, based on the input received fromthe device driver. The mobile device 610 can include a virtualcontroller module 646 which can be configured to combine the receiveddata packets obtained from the left controller 622 and/or the rightcontroller 624 to form a virtual gaming controller with a singlecontroller input representation. In an embodiment, the controller 672 ofthe right gaming controller 624 receives left controller input, andcarries out a combination of left controller input and right controllerinput to form a virtual controller with a single controller inputrepresentation. The virtual controller is subsequently provided to themobile device 610 through the USB interface between the right controller624 and the mobile device 610. At 716, the virtual gaming controllerincluding combined controller input is provided to the softwareapplication 648 for handling.

FIG. 8 illustrates a schematic representation of a mobile gaming device800 according to an embodiment. Controllers 820 are provided for amobile device 810. First left-side hardware controller 822 and secondright-side hardware controller 824 are provided and arranged forcoupling with the mobile device 810. The gaming controllers 820 caninclude a variety of hardware controller buttons, for example, joystick826, gaming control buttons 828, etc. Other buttons or functionality canbe included, where needed. Mobile device 810 can include a left USB port840 for coupling with a USB plug on the left controller 822 and a rightUSB port 842 for coupling with a USB plug on the right controller 824.Left controller 822 and right controller 824 generate left controllerinput and right controller input respectively, based on user input ormanipulation. The left controller input and right controller input aresent to the mobile device through left USB port 840 and right USB port842 respectively.

According to an embodiment, device drivers are not included in themobile device 810 for HID input interpretation. In an embodiment, acombination application 846 operating on the operating system 844 of themobile device can receive HID information from controllers 820 and cancreate a virtual controller in combining the left controller input andright controller input. The combination application 846 can include aleft controller interface 848 and a right controller interface 850. Theleft controller input and right controller input are received by theoperating system 844 in the mobile device from left USB port 840 andright USB port 842 respectively. The left controller input is thereafterprovided to the left controller interface 848 of the combinationapplication 846 and the right controller input is provided to the rightcontroller interface 850 of the combination application 846. Further, itis noted that in providing the left controller input and the rightcontroller input directly to the operating system 844, a controllerrepresentation is formed for both left controller input and the rightcontroller input.

The combination application 846 is configured to create a new gamecontroller or a virtual game controller representation, which caninclude a single controller input representation that contains all theelements of a combined controller based on both the left controllerinput and the right controller input. The combination application 846can be configured to create the virtual game controller representation852 on the operating system. The virtual controller representation 852is thereafter passed on to a game application 854 running on the mobiledevice 810. Such a mobile gaming device 800 can be provided if thegaming application 854 running on the operating system 844 can supportthe selection of a game controller from multiple controller inputs. Insuch a way, the combined virtual controller input is utilized, and thehardware-generated left controller input and right controller input areignored. The operation system 844 can be a Windows, Linux Androidoperating system, which allows for virtual USB devices to be introducedin application space. It can be noted that a Linux or Android operatingsystem can allow for HID inputs to be sent directly into a kernel on theoperating system, in creating a virtual device.

In various embodiments, two game controllers can be connected to amobile device without using the generic HID protocol, but using, forexample, vendor-specific device interface protocols. Such an instancewould prevent the operation system from creating unwanted interfaces,for example left interface 848 and right interface 850 as describedabove, for the physical controller devices. A user space application canbe provided on the operating system of the mobile device to communicatewith each of the left gaming controller and the right gaming controllerusing raw USB or Bluetooth data. The user space application thencombines the left and right controller information together to create asingle virtual controller, on or using the operating system. Incomparison with mobile gaming device 800 in the embodiment describedabove, the user space application combines all information into a singlevirtual device, instead of the gaming application choosing from betweenthe physical left and tight controller and the virtual controller withcombined data. The single virtual device representation is then sent tothe operating system and the gaming application, which will only detecta single controller which is the virtual device representation.

In an embodiment, the user space application then combines the left andright controller information together to create a single virtualcontroller representation in user space. The controllers can usestandard HID protocols to connect, which then informs the operatingsystem, for provision to the game application. The game application maythus be provided with three devices, and a user can select the singlevirtual controller representation for input into the game.

FIG. 9 illustrates a flow chart setting out the operation of gamingcontrollers in a mobile gaming device according to an embodiment. Theflow chart 900 of FIG. 9 can correspond to the operation of gamingcontrollers in a mobile gaming device, as shown and described in FIG. 8.In an embodiment, the flow chart 900 can represent where a user spaceapplication is utilized for representation. The user space applicationcan utilize standard HID protocols, a proprietary format using USB,Bluetooth, wireless protocols. In flow chart 900, left gaming controller822 is schematically represented by game control left portion block 902,while right gaming controller 824 is schematically represented by gamecontrol left portion block 904. A USB interface 906 can be provided forleft controller 822 and USB interface 908 can be provided for rightcontroller 824. A monitoring block 910 can be provided for determiningif a joystick is moved or a gaming control button is depressed on theleft controller 822 and if so, HID information is sent from the leftcontroller 822 to the mobile device 810 over USB interface 906. If nomovement or control input is detected, a loop back is made to continuemonitoring USB interface 906 for any left controller input from the leftcontroller 822. If movement or control input is detected, the processflow carries on. HID input is delivered from the left controller 822 tothe USB port 840 of the mobile device 810. Correspondingly, a monitoringblock 912 is provided for the right controller 224, operating in asimilar manner.

In receiving left controller input from left USB port 840, which is thenprovided to the operating system 844, a left controller representation914 can be formed, based on the left controller input. Left controllerrepresentation 914 can be formed in the user space application.Operating system 844 further can receive right controller input fromright USB port 842, through which a right controller representation 916is formed, based on the right controller input. Right controllerrepresentation 916 can be formed in the user space application. At 918,a combination application can receive left controller representation 914or right controller representation 916. Such a combination applicationcan include logic or software portions in the user space applicationwhich can combine the representative input 916, 918, into a singlecontroller representation. In embodiments, the combination applicationcan receive left controller input or right controller input, which canalso be part of the left controller representation 914 or rightcontroller representation 916. A virtual controller is thereafterformed, based on the left controller input and the right controllerinput.

A further monitoring block 920 is included, for which determines whethera controller event occurs, i.e. if a joystick is moved or a gamingcontrol button depressed, on any one of the controllers. If so, thesingle virtual controller representation is thereafter sent into theoperating system. At 922, the operating system receives the gamecontroller combined representation, and can translate HID informationfor the virtual game controller input. Block 922 can be considered theinterface to the operating system of a virtual HID device. At 924, thegame application can receive the translated HID information forutilization of a user's gaming input.

In various embodiments, a keyboard can be provided in two portions, eachportion for connecting to a processor for usage as a single device,based on a single virtual controller representation, derived accordingto the present disclosure. A keyboard can be cut in half and each halfplaced into devices using the HID protocol. The operating system wouldsee two different keyboards, each just being half of a proper keyboard.According to an embodiment, by providing a single virtual keyboardrepresentation, a software application can receive input from a singlekeyboard, allowing for macro functions or even activation of secondaryfunctions with e.g. the shift or control key, which would not work ifreceived from two separate keyboards, to work.

FIG. 10 illustrates a schematic of a gaming controller for a mobiledevice according to an aspect of the present disclosure. Gamingcontroller 1000 can include a first hardware gaming controller 1002including a first programmable controller 1004 and at least one inputswitch 1006, the at least one input switch 1006 of the first hardwaregaming controller 1002 configured to be manipulated by a user's leftthumb and/or fingers to generate a left controller input with the firstprogrammable controller 1004. The gaming controller 1000 can alsoinclude a second hardware gaming controller 1008 including a secondprogrammable controller 1010 and at least one input switch 1012, the atleast one input switch 1012 of the second hardware gaming controllerconfigured to be manipulated by a user's right thumb and/or fingers togenerate a right controller input with the second programmablecontroller 1010.

Further the first hardware gaming, controller 1002 and the secondhardware gaming controller 1008 are each configured to be removablycoupleable with a mobile device 1014 including a mobile device processor1016 coupled to a memory module 1018 and configured to run a softwareapplication 1020. According to embodiments, the first hardware gamingcontroller is configured to be mechanically secured to a side portion ofa housing 1022 of the mobile device, and the second hardware gamingcontroller is configured to be mechanically secured to an opposing sideportion of the housing 1022 of the mobile device. In embodiments, theleft controller input and the fight controller input are combined with avirtual controller module 1024 to form a virtual gaming controller witha single controller input representation for providing to the softwareapplication 1020.

In an embodiment, the first hardware gaming controller, for example thefirst programmable controller in the first hardware gaming controller,includes a serial bus connection to the mobile gaming processor and thesecond hardware gaming controller for example the second programmablecontroller in the second hardware gaming controller, includes a separateserial bus connection to the mobile device processor.

In an embodiment, the first hardware gaming controller includes a firstwireless transceiver coupled to the first programmable controller andthe second hardware gaming controller includes a second wirelesstransceiver coupled to the second programmable controller, forestablishing a wireless data coupling.

In an embodiment, the first hardware gaming controller and the secondhardware gaming controller are configured to establish separate wirelessdata couplings to the mobile device processor.

In an embodiment, a wireless data coupling is configured to beestablished between the first programmable controller in the firsthardware gaming controller and the second programmable controller in thesecond hardware gaming controller. In an embodiment, a wireless datacoupling is established between the first programmable controller andthe second programmable controller.

In an embodiment, any one of the first hardware gaming controller or thesecond hardware gaming controller includes a serial bus connection tothe mobile device processor. In an embodiment, any one of the firsthardware gaming controller or the second hardware gaming controllerfurther establishes a wireless data coupling to the mobile device.

In an embodiment, the wireless data coupling is any one of a Bluetoothconnection, a Wireless Universal Serial Bus (WUSB) connection, a radiofrequency connection, or an infrared data connection.

In an embodiment, the mobile device processor is configured to receivethe left controller input and the right controller input as distinctdata packets.

In an embodiment, an operating system running on the mobile deviceprocessor is configured to receive the left controller input and theright controller input as distinct data packets, the virtual controllermodule is configured for operation on the operating system.

In an embodiment, a device driver running on the mobile device processoris configured to receive the left controller input and the rightcontroller input as distinct data packets, for interpreting the datapackets for communication with the operating system.

In an embodiment, further including a data coupling between the firstprogrammable controller in the first hardware gaming controller and thesecond programmable controller in the second hardware gaming controller;wherein the virtual controller module is configured for operation on anyone of the first programmable controller or the second programmablecontroller.

According to an aspect of the present disclosure, there can be provideda mobile device for gaming, including: a mobile computer, including ahousing and a mobile device processor coupled to a memory module andprovided within the housing, the mobile device processor configured torun a software application; a first hardware gaming controllermechanically secured to a side portion of the housing of the mobilecomputer, the first hardware gaming controller including a firstprogrammable controller and at least one input switch, the at least oneinput switch of the first hardware gaming controller configured to bemanipulated by a user's left thumb and/or fingers to generate a leftcontroller input with the first programmable controller; and a secondhardware gaming controller mechanically secured to an opposing sideportion of the housing of the mobile computer, the second hardwaregaming controller including a second programmable controller and atleast one input switch, the at least one input switch of the secondhardware gaming controller configured to be manipulated by a user'sright thumb and/or fingers to generate a right controller input with thesecond programmable controller; a virtual controller module configuredto combine the left controller input and the right controller input toform a virtual gaming controller with a single controller inputrepresentation for providing to the software application.

FIG. 11 illustrates a block diagram of a method according to an aspectof the present disclosure. Method 1100 can be a method of operating agaming controller including a first hardware gaming controller and asecond hardware gaming controller each configured to be removablycoupleable with a mobile device, the first hardware gaming controllerconfigured to be mechanically secured to a side portion of a housing ofa mobile device, and the second hardware gaming controller configured tobe mechanically secured to an opposing side portion of the housing ofthe mobile device. In 1102, the method can include generating a leftcontroller input with a first programmable controller in the firsthardware gaming controller, the first hardware gaming controllerconfigured to be manipulated by a user's left thumb and/or fingers. In1104, the method can include generating a right controller input with asecond programmable controller in the second hardware gaming controller,the second hardware gaming controller configured to be manipulated by auser's right thumb and/or fingers. In 1106, the method can includecombining the left controller input and the right controller input toform a virtual gaming controller with a single controller inputrepresentation. In 1108, the method can include providing the virtualgaming controller to a software application operating on a mobileprocessor in the mobile device.

In an embodiment, the method includes sending the left controller inputand the right controller input separately each through a serial busconnection to the mobile device processor.

In an embodiment, the method includes sending the left controller inputto the mobile device processor through a first serial bus connectionbetween the first hardware gaming controller and the mobile computer.

In an embodiment, the method includes sending the right controller inputto the mobile device processor through a second serial bus connectionbetween the second hardware gaming controller and the mobile device.

In an embodiment, the method includes sending the left controller inputto the mobile device processor through a first wireless data couplingbetween the first hardware gaming controller and the mobile device.

In an embodiment, the method includes sending the right controller inputto the mobile device processor through a second wireless data couplingbetween the second hardware gaming controller and the mobile device.

In an embodiment, the method includes sending controller input from theany one of the first hardware gaming controller or the second hardwaregaming controller to the corresponding second hardware gaming controlleror first hardware gaming controller respectively, through a wirelessdata coupling.

In an embodiment, the method includes sending the left controller inputand the right controller input to the mobile device processor throughany one of a serial bus connection or a wireless data coupling betweenthe corresponding second hardware gaming controller or first hardwaregaming controller and the mobile computer.

In an embodiment, the method includes receiving the left controllerinput and right controller input as distinct data packets, by the mobiledevice processor.

In an embodiment, the method includes combining the left controllerinput and the right controller input with the virtual controller moduleoperating on the mobile device processor.

In an embodiment, the method includes interpreting the distinct datapackets with a device driver on the mobile device processor.

In an embodiment, the method includes receiving the left controllerinput and the right controller input in any one of the first hardwaregaming controller or the second hardware gaming controller, andcombining the left controller input and the right controller input withthe virtual controller module operating on any one of the first hardwaregaming controller or the second hardware gaming controller.

According to various embodiments, there is provided at least onecomputer program product directly loaded into a non-transitory memorymodule of a digital computer provided in a mobile device of the presentdisclosure. The computer program product can include software codeportions for performing, the steps of a method according to anembodiment of the present disclosure when the at least one computerproduct is run on the at least one digital computer.

In various embodiments, there is provided a controller for carrying outan operational function in the mobile device, which can include, but notlimited to, a first hardware gaming controller microcontroller, a secondhardware gaming, controller microcontroller, a mobile computerprocessing system, etc. The controller can include a digital computerconfigured to receive a computer program product. In embodiments,several digital computers or microprocessors are synchronized andoperate cooperatively as part of an overall system.

The following examples pertain to further embodiments.

Example 1 is a gaming controller for a mobile device, including; afirst, hardware gaming controller including a first programmablecontroller and at least one input switch, the at least one input switchof the first hardware gaming controller configured to be manipulated bya user's left thumb and/or fingers to generate a left controller inputwith the first programmable controller; and a second hardware gamingcontroller including a second programmable controller and at least oneinput switch, the at least one input switch of the second hardwaregaming controller configured to be manipulated by a user's right thumband/or fingers to generate a right controller input with the secondprogrammable controller; the first hardware gaming controller and thesecond hardware gaming controller each configured to be removablycoupleable with a mobile device, the mobile device including a housing,and a mobile device processor coupled to a memory module and providedwith the housing, the mobile device processor configured to run asoftware application; wherein the first hardware gaming controller isconfigured to be mechanically secured to a side portion of the housingof the mobile device, and the second hardware gaming controller isconfigured to be mechanically secured to an opposing side portion of thehousing of the mobile device; and wherein the left controller input andthe right controller input are combined with a virtual controller moduleto form a virtual gaming controller with a single controller inputrepresentation for providing to the software application.

In example 2, the subject matter of example 1 can optionally includethat the first hardware gaming controller includes a serial busconnection coupling the first programmable controller to the mobiledevice processor and the second hardware gaming controller includes aseparate serial bus connection coupling the second programmablecontroller to the mobile device processor.

In example 3, the subject matter of example 1 or 2 can optionallyinclude where the first hardware gaming controller includes a firstwireless transceiver coupled to the first programmable controller andthe second hardware gaming controller includes a second wirelesstransceiver coupled to the second programmable controller, forestablishing a wireless data coupling.

In example 4, the subject matter of example 3 can optionally includewhere the first hardware gaming controller and the second hardwaregaming controller are configured to establish separate wireless datacouplings to the mobile device processor.

In example 5, the subject matter of example 3 can optionally includewhere a wireless data coupling is configured to be established betweenthe first programmable controller in the first hardware gamingcontroller and the second programmable controller in the second hardwaregaming controller.

In example 6, the subject matter of example 5 can optionally includewhere any one of the first hardware gaming controller or the secondhardware earning controller includes a serial bus connection to themobile device processor.

In example 7, the subject matter of example 5 can optionally includewhere any one of the first hardware gaming controller or the secondhardware gaming controller further establishes a wireless data couplingto the mobile device.

In example 8, the subject matter of any one of examples 3 to 7 canoptionally include where the wireless data coupling is any one of aBluetooth connection, a Wireless Universal Serial Bus (WUSB) connection,a radio frequency connection, or an infrared data connection.

In example 9, the subject matter of any one of examples 1 to 8 canoptionally include where the mobile device processor is configured toreceive the left controller input and the right controller input asdistinct data packets.

In example 10, the subject matter of example 9 can optionally includewhere wherein an operating system running on the mobile device processoris configured to receive the left controller input and the rightcontroller input as distinct data packets; and where the virtualcontroller module is configured for operation on the operating system.

In example 11, the subject matter of any one of examples 9 or 10 canoptionally include where a device driver running on the mobile deviceprocessor is configured to receive the left controller input and theright controller input as distinct data packets by, for interpreting thedata packets for communication with the operating system.

In example 12, the subject matter of any one of examples 1 to 11 canoptionally include a data coupling between the first programmablecontroller in the first hardware gaming controller and the secondprogrammable controller in the second hardware gaming controller;wherein the virtual controller module is configured for operation on anyone of the first programmable controller or the second programmablecontroller.

Example 13 is a method of operating a gaming controller, the gamingcontroller including a first hardware gaming controller and a secondhardware gaming controller each configured to be removably coupleablewith a mobile device, the first hardware gaming controller configured tobe mechanically secured to a side portion of a housing of a mobiledevice, and the second hardware gaming controller configured to bemechanically secured to an opposing side portion of the housing of themobile device, the method including: generating a left controller inputwith a first programmable controller in the first hardware gamingcontroller, the first hardware gaming controller configured to bemanipulated by a user's left thumb and/or fingers; generating a rightcontroller input with a second programmable controller in the secondhardware gaming controller, the second hardware gaming controllerconfigured to be manipulated by a user's right thumb and/or fingers;combining the left controller input and the right controller input toforma virtual gaming controller with a single controller inputrepresentation; and providing the virtual gaming controller to asoftware application operating on a mobile device processor in themobile device.

In example 14, the subject matter of example 13 can optionally includesending the left controller input and the right controller inputseparately each through a serial bus connection to the mobile deviceprocessor.

In example 15, the subject matter of example 14 can optionally includesending the left controller input to the mobile device processor througha first serial bus connection between the first hardware gamingcontroller and the mobile device, and sending the right controller inputto the mobile device processor through a second serial bus connectionbetween the second hardware gaming controller and the mobile device.

In example 16, the subject matter of example 13 can optionally includesending the left controller input to the mobile device processor througha first wireless data coupling between the first hardware gamingcontroller and the mobile device, and sending the right controller inputto the mobile device processor through a second wireless data couplingbetween the second hardware gaming controller and the mobile device.

In example 17, the subject matter of example 13 can optionally includesending controller input from the any one of the first hardware gamingcontroller or the second hardware gaming controller to the correspondingsecond hardware gaming controller or first hardware gaming controllerrespectively, through a wireless data coupling.

In example 18, the subject matter of example 17 can optionally includesending the left controller input and the right controller input to themobile device processor through any one of a serial bus connection or awireless data coupling between the corresponding second hardware gamingcontroller or first hardware gaming controller and the mobile device.

In example 19, the subject matter of any one of examples 13 to 18 canoptionally include receiving the left controller input and rightcontroller input as distinct data packets, by the mobile deviceprocessor.

In example 20, the subject matter of example 19 can optionally includecombining the left controller input and the right controller input withthe virtual controller module operating on the mobile device processor.

In example 21, the subject matter of example 19 or 20 can optionallyinclude interpreting the distinct data packets with a device driver onthe mobile device processor.

In example 22, the subject matter of any one of examples 13 to 21 canoptionally include receiving the left controller input and the rightcontroller input in any one of the first hardware gaming controller orthe second hardware gaming controller; and combining the left controllerinput and the right controller input with the virtual controller moduleoperating on any one of the first hardware gaming controller or thesecond hardware gaming controller.

The above apparatus, method and/or system as, described and illustratedin the corresponding figures, is not intended to limit an or anyapparatus, method or system as according to an embodiment, and the scopeof the present disclosure. The description further includes, eitherexplicitly or implicitly, various features and advantages of the methodor system according to the present disclosure, which can be encompassedwithin an apparatus, method or system according to the disclosure.

While embodiments of the disclosure have been particularly shown anddescribed with reference to specific embodiments, it should beunderstood by those skilled in the art that various changes in form anddetail may be made therein without departing from the spirit and scopeof the disclosure as defined by the appended claims. The scope of thedisclosure is thus indicated by the appended claims and all changeswhich come within the meaning and range of equivalency of the claims aretherefore intended to be embraced.

What is claimed is:
 1. A gaming controller for a mobile device,comprising: a first hardware gaming controller comprising a firstprogrammable controller and at least one input switch, the at least oneinput switch of the first hardware gaming controller configured to bemanipulated by a user's left thumb and/or fingers to generate a leftcontroller input with the first programmable controller; and a secondhardware gaming controller comprising a second programmable controllerand at least one input switch, the at least one input switch of thesecond hardware gaining controller configured to be manipulated by auser's right thumb and/or fingers to generate a right controller inputwith the second programmable controller; the first hardware gamingcontroller and the second hardware gaming controller each configured tobe removably coupleable with the mobile device, the mobile devicecomprising a mobile device processor coupled to a memory module andconfigured to run a software application; wherein the first hardwaregaming controller is configured to be mechanically secured to a sideportion of a housing of the mobile device, and the second hardwaregaming controller is configured to be mechanically secured to anopposing side portion of the housing of the mobile device; wherein themobile device processor is configured to receive the left controllerinput and the right controller input as distinct data packets; andwherein each of the data packets corresponding to the left controllerinput and the right controller input comprises a respective identifierto identify the corresponding data packet as being from the firsthardware gaming controller or the second hardware gaming controller; anda virtual controller module configured to combine the left controllerinput and the right controller input received in the mobile deviceprocessor into a single controller input representation for providing tothe software application.
 2. The gaming controller according to claim 1,wherein the first hardware gaming controller comprises a serial busconnection coupling the first programmable controller to the mobiledevice processor and the second hardware gaming controller comprises aseparate serial bus connection coupling the second programmablecontroller to the mobile device processor.
 3. The gaming controlleraccording to claim 1, wherein the first hardware gaming controllercomprises a first wireless transceiver coupled to the first programmablecontroller and the second hardware gaming controller comprises a secondwireless transceiver coupled to the second programmable controller, forestablishing a wireless data coupling.
 4. The gaming controlleraccording to claim 3, wherein any one of the first hardware gamingcontroller or the second hardware gaming controller further establishesa wireless data coupling to the mobile device.
 5. The gaming controlleraccording to claim 3, wherein the wireless data coupling is any one of aBluetooth connection, a Wireless Universal Serial Bus (WUSB) connection,a radio frequency connection, or an infrared data connection.
 6. Thegaming controller according to claim 1, wherein an operating systemrunning on the mobile device processor is configured to receive the leftcontroller input and the right controller input as the distinct datapackets; and wherein the virtual controller module is configured foroperation on the operating system.
 7. The gaming controller according toclaim 1, wherein a device driver running on the mobile device processoris configured to receive the left controller input and the rightcontroller input as the distinct data packets, for interpreting the datapackets for communication with the operating system.
 8. The gamingcontroller according to claim 1, further comprising a data couplingbetween the first programmable controller in the first hardware gamingcontroller and the second programmable controller in the second hardwaregaming controller; wherein the virtual controller module is configuredfor operation on any one of the first programmable controller or thesecond programmable controller.
 9. A method of operating a gamingcontroller, the gaming controller comprising a first hardware gamingcontroller and a second hardware gaming controller each configured to beremovably coupleable with a mobile device, the first hardware gamingcontroller configured to be mechanically secured to a side portion of ahousing of the mobile device, and the second hardware gaming controllerconfigured to be mechanically secured to an opposing side portion of thehousing of the mobile device, the method comprising: generating a leftcontroller input with a first programmable controller in the firsthardware gaming controller, the first hardware gaming controllerconfigured to be manipulated by a user's left thumb and/or fingers;generating a right controller input with a second programmablecontroller in the second hardware gaming controller, the second hardwaregaming controller configured to be manipulated by a user's right thumband/or fingers; receiving the left controller input and right controllerinput as distinct data packets, by a mobile device processor in themobile device, wherein each of the data packets corresponding to theleft controller input and the right controller input comprises arespective identifier to identify the corresponding data packet as beingfrom the first hardware gaming controller or the second hardware gamingcontroller; and combining the left controller input and the rightcontroller input received by the mobile device processor into a singlecontroller input representation; and providing the single controllerinput representation to a software application operating on the mobiledevice processor in the mobile device.
 10. The method of claim 9,further comprising sending the left controller input and the rightcontroller input separately each through a serial bus connection to themobile device processor.
 11. The method of claim 10, further comprisingsending the left controller input to the mobile device processor througha first serial bus connection between the first hardware gamingcontroller and the mobile device, and sending the right controller inputto the mobile device processor through a second serial bus connectionbetween the second hardware gaming controller and the mobile device. 12.The method of claim 9, further comprising sending the left controllerinput to the mobile device processor through a first wireless datacoupling between the first hardware gaming controller and the mobiledevice, and sending the right controller input to the mobile deviceprocessor through a second wireless data coupling between the secondhardware gaming controller and the mobile device.
 13. The method ofclaim 9, further comprising sending controller input from the any one ofthe first hardware gaming controller or the second hardware gamingcontroller to the corresponding second hardware gaming controller orfirst hardware gaming controller respectively, through a wireless datacoupling.
 14. The method of claim 13, further comprising sending theleft controller input and the right controller input to the mobiledevice processor through any one of a serial bus connection or awireless data coupling between the corresponding second hardware gamingcontroller or first hardware gaming controller and the mobile device.15. The method of claim 9, further comprising combining the leftcontroller input and the right controller input with a virtualcontroller module operating on the mobile device processor.
 16. Themethod of claim 9, further comprising interpreting the distinct datapackets with a device driver on the mobile device processor.
 17. Themethod of claim 9, further comprising: receiving the left controllerinput and the right controller input in any one of the first hardwaregaming controller or the second hardware gaming controller; andcombining the left controller input and the right controller input witha virtual controller module operating on any one of the first hardwaregaming controller or the second hardware gaming controller.
 18. Anon-transitory computer-readable medium comprising instructions which,when executed by a processor, causes the processor to perform a methodof operating a gaming controller, the method comprising: generating aleft controller input with a first programmable controller in a firsthardware gaming controller of the gaming controller, the first hardwaregaining controller configured to be manipulated by a user's left thumband/or fingers; generating a right controller input with a secondprogrammable controller in a second hardware gaming controller of thegame controller, the second hardware gaming controller configured to bemanipulated by a user's right thumb and/or fingers; receiving the leftcontroller input and right controller input as distinct data packets, bya mobile device processor in the mobile device, wherein each of the datapackets corresponding to the left controller input and the rightcontroller input comprises a respective identifier to identify thecorresponding data packet as being from the first hardware gamingcontroller or the second hardware gaming controller; and combining theleft controller input and the right controller input received by themobile device processor into a single controller input representation;and providing the single controller input representation to a softwareapplication operating on the mobile device processor in a mobile device.